<?php

namespace App\Model\Table;

use Cake\ORM\Table;

//TODO: Classes para integração, mudar para outro método futuramente

class EmpresasTable extends Table {

    public function initialize(array $config) {
        $this->table('empresas');
        $this->primaryKey('idempresa');
    }

    public function newFromEmissora($emissora) {
        $empresa = $this->newEntity();

        $empresa->set('nomefantasia', $emissora['nomefantasia']);
        $empresa->set('razaosocial', $emissora['razaosocial']);
        $empresa->set('categoria_empresa_id', '4');
        $empresa->set('grupo_empresas_id', $emissora['grupo_empresas_id']);
        $empresa->set('cpf_cnpj', $emissora['cpf_cnpj']);
        $empresa->set('tipo_pessoa', $emissora['tipo_pessoa']);
        $empresa->set('telefone_01', $emissora['telefone_01']);
        $empresa->set('telefone_02', $emissora['telefone_02']);
        $empresa->set('endereco', $emissora['endereco']);
        $empresa->set('endereco_complemento', $emissora['endereco_complemento']);
        $empresa->set('bairro', $emissora['bairro']);
        $empresa->set('email', $emissora['email']);
        $empresa->set('website', $emissora['website']);
        $empresa->set('ramal_01', $emissora['ramal_01']);
        $empresa->set('ramal_02', $emissora['ramal_02']);
        $empresa->set('cidade', $emissora['cidade']);
        $empresa->set('estado', $emissora['estado']);
        $empresa->set('pais', $emissora['pais']);
        $empresa->set('cep', $emissora['cep']);
        $empresa->set('token_facebook', $emissora['token_facebook']);
        $empresa->set('data_token', $emissora['data_token']);
        $empresa->set('regiao', $emissora['regiao']);
        $empresa->set('genero', $emissora['genero']);
        $empresa->set('sintonia', $emissora['sintonia']);
        $empresa->set('streaming', $emissora['streaming']);
        $empresa->set('url_loja_android', $emissora['url_loja_android']);
        $empresa->set('url_loja_ios', $emissora['url_loja_ios']);

        return $empresa;
    }

}

class AppsTable extends Table {

    public function initialize(array $config) {
        $this->table('app');
        $this->primaryKey('id');
    }

    public function newFromEmpresaEmissora($empresa, $emissora) {
        $app = $this->newEntity();

        $app->set('idempresa', $empresa['idempresa']);
        $app->set('data_atualizacao', $emissora['data_atualizacao']);
        $app->set('palavra_chave', $emissora['palavra_chave']);
        $app->set('texto_rotativo', $emissora['texto_rotativo']);
        $app->set('mensagem_compartilhamento', $emissora['mensagem_compartilhamento']);
        $app->set('website', $emissora['website']);
        $app->set('nome_empresa', $emissora['nome_empresa']);
        $app->set('facebook', $emissora['facebook']);
        $app->set('twitter', $emissora['twitter']);
        $app->set('streaming', $emissora['streaming']);
        $app->set('link_integracao_programacao', $emissora['link_integracao_programacao']);
        $app->set('cor_app', $emissora['cor_app']);
        $app->set('link_rds', $emissora['link_rds']);
        $app->set('splash_tempo', $emissora['splash_tempo']);
        $app->set('splash_exibir', $emissora['splash_exibir']);
        $app->set('nome_provedor_streaming', $emissora['nome_provedor_streaming']);
        //$app->set('status', $emissora['status']);
        $app->set('status', 0);
        //$app->set('status_app', $emissora['status_app']);
        $app->set('status_app', 0);
        $app->set('radio_id', $emissora['radio_id']);
        $app->set('radio_idempresa', $emissora['radio_idempresa']);
        $app->set('logo_mdpi', $emissora['logo_mdpi']);
        $app->set('logo_hdpi', $emissora['logo_hdpi']);
        $app->set('logo_xhdpi', $emissora['logo_xhdpi']);
        $app->set('logo_xxhdpi', $emissora['logo_xxhdpi']);
        $app->set('splash_mdpi', $emissora['splash_mdpi']);
        $app->set('splash_hdpi', $emissora['splash_hdpi']);
        $app->set('splash_xhdpi', $emissora['splash_xhdpi']);
        $app->set('splash_xxhdpi', $emissora['splash_xxhdpi']);
        $app->set('latitude', $emissora['latitude']);
        $app->set('longitude', $emissora['longitude']);

        return $app;
    }

}

class UsuariosTable extends Table {

    public function initialize(array $config) {
        $this->table('usuario');
        $this->primaryKey('id');
    }

    private function gerarPassword() {
        $password = substr(str_shuffle('abcdefghijklmnopqrstuvwxyz'), 0, 10);
        return $password;
    }

    public function newFromEmpresaApp($empresa, $app) {
        $usuario = $this->newEntity();

        $usuario->set('idempresa', $empresa['idempresa']);
        $usuario->set('login', $empresa['login']); //todo
        $usuario->set('senha', $empresa['senha']); //todo
        $usuario->set('email', $empresa['email']); //todo
        $usuario->set('app_id', $app['id']);

        return $usuario;
    }

}

class IntegradorTable extends Table {

    public function initialize(array $config) {
        $this->table('abert_integrador');
        $this->primaryKey('id');
    }

    public function newFromApp($app) {
        $integracao = $this->newEntity();

        $integracao->set('app_id', $app['id']);


        return $integracao;
    }

}

/*$insert_user = 'INSERT INTO usuario(id, idempresa, "login", senha, email, nome, celular,
                                             nivel_acesso_id, cargo_id, setor_id, imagem, app_id, status)
                        VALUES (?, ?, "adm+PRIMEIRO NOME DA RADIO MINUSCULO+ID", ?, ?, ?, ?, ?, 
            ?, ?, ?, ?, ?);';;*/